1. Field of the Invention
The present invention relates to allocation of processing in a telecommunications network, and, more particularly, to allocation of connections to processors in a base station controller of a wireless network.
2. Description of the Related Art
Radio or wireless telecommunications networks provide wireless voice and data communication between different service providers, such as the public switched telephone network (PSTN) and the Internet. Typical networks deployed in the prior art operate in accordance with General Packet Radio Service (GPRS), Universal Mobile Telecommunications Systems (UMTS), and Code-Division Multiple Access (CDMA) 2000 network standards. A wireless network is typically characterized by one or more base stations (BSs), a radio network controller (RNC), a mobile switching center (MSC), and data gateway. Each BS manages at least one corresponding cell, or dedicated area of wireless radio coverage. The MSC serves as an interface to, for example, the PSTN network, while a data gateway serves as an interface to, for example, an IP network that connects to the Internet. Each base station communicates with user elements (UEs) through wireless radio signals. A user element is either a fixed or mobile transceiver, such as a mobile phone, wireless notebook computer, or fixed radio station.
The RNC includes a base station controller (BSC) and a traffic-processing unit (TPU). The TPU is employed for management of voice and data forwarding (traffic), while the BSC is employed for management of call control (signaling). The BSC connects the CDMA radio access network (RAN) with the core network (CN). Thus, the BSC manages i) the radio path and ii) signaling between each UE and the CN.
The BSC comprises multiple central processing units (CPUs) distributed over multiple blades (a blade is circuitry of predetermined functionality assigned to cells or cell sectors, such as equipment processor cards or units). Each CPU runs a call-processing application (software program) that, besides tasks such as soft-handover (mobility), outer-loop power control, measurement reports, and radio channel reconfiguration, guides the process of setting up and tearing down a user call. The call-processing application processes call-setup and call-release signaling messages, and the call-processing application also manages cell components. A cell component is a logical representation of circuitry and related processing that enables per sector per carrier coverage of a BS cell area (cells may be divided into sectors). For example, in CDMA networks, cell components manage spreading code trees for spreading code assignments to a cell/sector. Cell components employ downlink spreading codes used by BSs to set up downlink channels to UEs (e.g., mobile phones). In a soft-handover/soft-handoff situation, multiple BSs are connected simultaneously to the UE, where these BSs use spreading codes with the same spreading factor when communicating with this UE. Cell components of blades communicate with one another or are polled by a coordinating instance in order to determine free codes (i.e., available and unused) with the same spreading factor.
CPUs of a prior art BSC are associated with specific cells and call processing applications. Calls originating in a cell are generally handled by a call processing application running on the same CPU. Depending on the cell homing strategy (the configuration method of how to assign cell components to CPUs) of the BSC and user mobility patterns (the way users move through cells during active calls), some CPUs of the prior art BSC might become highly loaded, while other CPUs might be underutilized if a particular cell has a large number of voice and data calls. Cell homing strategies could be, but are not limited to, a random distribution so that all CPUs manage the same amount of Cell components, or a load biased distribution based on historical data so that heaviest loaded cells are not associated with the same CPU. The distributed cell homing strategy requires repeated traffic-load analysis to define an optimal cell placement because of changes in user mobility patterns, charging models, and new mobile applications.
Cell components generate CPU load whenever spreading codes are allocated or released. In a distributed system, the call processing application sends a code allocation/release request individually to all cell components holding a soft-handover leg of the processed UE. A voice call sets up a traffic connection right after the signaling connection is established. Both connections are torn down at voice call-release time. A data call also sets up both connections one after each other. However, after data session initialization, the data call immediately suspends the traffic connection if there is no data to be sent. This suspension state means that spreading codes are released, which is transparent to the data exchanging application on the UE. Only when a burst of data is to be sent new spreading codes are allocated and the traffic radio link is revived. When the data transmission is complete, the traffic connection (radio link) is again suspended. The bursty nature of data traffic causes a multitude of radio link setups and teardowns, which in turn triggers spreading code allocations and releases.
In addition, when a UE crosses a cell boundary, a new CPU, potentially located on a different blade, may serve the radio portion of the connection. However, the call-processing application CPU association, termed UE context, of the original CPU that served the UE's call-set-up request does not move except for exceptional conditions like switching the anchor/serving RNC, because it would be computationally very expensive to move all the call state information. Since the UE context does not move, messages are generated between the original and new CPUs, causing higher inter-CPU messaging overhead.